home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.04 Apr 88 / forth sources / fmath.68881 < prev    next >
Encoding:
Text File  |  1988-03-07  |  3.0 KB  |  289 lines  |  [TEXT/EDIT]

  1. only forth also assembler also sane
  2. vocabulary f68881
  3. also f68881 definitions
  4.  
  5. code f>2
  6.     add.l    #20,d7
  7.     move.l    d7,a0
  8.     move.l    -(a0),-(a7)
  9.     move.l    -(a0),-(a7)
  10.     subq.l    #2,a7
  11.     move.w    -(a0),-(a7)
  12.     fmove.x    (a7)+,fp0
  13.     move.l    -(a0),-(a7)
  14.     move.l    -(a0),-(a7)
  15.     subq.l    #2,a7
  16.     move.w    -(a0),-(a7)
  17.     fmove.x    (a7)+,fp1
  18.     add.l    #10,a0
  19.     rts
  20. end-code mach
  21.  
  22. code f>1
  23.     add.l    #10,d7
  24.     move.l    d7,a0
  25.     move.l    -(a0),-(a7)
  26.     move.l    -(a0),-(a7)
  27.     subq.l    #2,a7
  28.     move.w    -(a0),-(a7)
  29.     fmove.x    (a7)+,fp0
  30.     rts
  31. end-code mach
  32.  
  33. code 1>f
  34.     fmove.x fp0,-(a7)
  35.     move.w    (a7)+,(a0)+
  36.     addq.l    #2,a7
  37.     move.l    (a7)+,(a0)+
  38.     move.l    (a7)+,(a0)+
  39.     sub.l     #10,d7
  40.     rts
  41. end-code mach
  42.  
  43. code f+
  44.     f>2
  45.     fadd.x fp1,fp0
  46.     1>f
  47.     rts
  48. end-code
  49.  
  50. code f-
  51.     f>2
  52.     fsub.x fp1,fp0
  53.     1>f
  54.     rts
  55. end-code
  56.  
  57. code f/
  58.     f>2
  59.     fdiv.x fp1,fp0
  60.     1>f
  61.     rts
  62. end-code
  63.  
  64. code f*
  65.     f>2
  66.     fmul.x fp1,fp0
  67.     1>f
  68.     rts
  69. end-code
  70.  
  71. code fmod
  72.     f>2
  73.     fmod.x fp1,fp0
  74.     1>f
  75.     rts
  76. end-code
  77.  
  78. code frem
  79.     f>2
  80.     frem.x fp1,fp0
  81.     1>f
  82.     rts
  83. end-code
  84.  
  85. code fabs
  86.     f>1
  87.     fabs.x    fp0
  88.     1>f
  89.     rts
  90. end-code
  91.  
  92. code facos
  93.     f>1
  94.     facos.x    fp0
  95.     1>f
  96.     rts
  97. end-code
  98.  
  99. code fasin
  100.     f>1
  101.     fasin.x    fp0
  102.     1>f
  103.     rts
  104. end-code
  105.  
  106. code fatan
  107.     f>1
  108.     fatan.x    fp0
  109.     1>f
  110.     rts
  111. end-code
  112.  
  113. code fatanh
  114.     f>1
  115.     fatanh.x fp0
  116.     1>f
  117.     rts
  118. end-code
  119.  
  120. code fcos
  121.     f>1
  122.     fcos.x    fp0
  123.     1>f
  124.     rts
  125. end-code
  126.  
  127. code fcosh
  128.     f>1
  129.     fcosh.x    fp0
  130.     1>f
  131.     rts
  132. end-code
  133.  
  134. code fe^x
  135.     f>1
  136.     fetox.x    fp0
  137.     1>f
  138.     rts
  139. end-code
  140.     
  141. code fe^x-1
  142.     f>1
  143.     fetoxm1.x fp0
  144.     1>f
  145.     rts
  146. end-code
  147.  
  148. code fgetexp
  149.     f>1
  150.     fgetexp.x fp0
  151.     1>f
  152.     rts
  153. end-code
  154.  
  155. code fgetman
  156.     f>1
  157.     fgetexp.x fp0
  158.     1>f
  159.     rts
  160. end-code
  161.  
  162. code fint
  163.     f>1
  164.     fint.x fp0
  165.     1>f
  166.     rts
  167. end-code
  168.  
  169. code fintrz
  170.     f>1
  171.     fintrz.x fp0
  172.     1>f
  173.     rts
  174. end-code
  175.  
  176. code fln
  177.     f>1
  178.     flogn.x fp0
  179.     1>f
  180.     rts
  181. end-code
  182.  
  183. code fln+1
  184.     f>1
  185.     flognp1.x fp0
  186.     1>f
  187.     rts
  188. end-code
  189.  
  190. code flog10
  191.     f>1
  192.     flog10.x fp0
  193.     1>f
  194.     rts
  195. end-code
  196.  
  197. code flog2
  198.     f>1
  199.     flog2.x fp0
  200.     1>f
  201.     rts
  202. end-code
  203.  
  204. code fneg
  205.     f>1
  206.     fneg.x fp0
  207.     1>f
  208.     rts
  209. end-code
  210.  
  211. code fsin
  212.     f>1
  213.     fsin.x fp0
  214.     1>f
  215.     rts
  216. end-code
  217.  
  218. code fsinh
  219.     f>1
  220.     fsinh.x fp0
  221.     1>f
  222.     rts
  223. end-code
  224.  
  225. code fsqrt
  226.     f>1
  227.     fsqrt.x fp0
  228.     1>f
  229.     rts
  230. end-code
  231.  
  232. code ftan
  233.     f>1
  234.     ftan.x fp0
  235.     1>f
  236.     rts
  237. end-code
  238.  
  239. code ftanh
  240.     f>1
  241.     ftanh.x fp0
  242.     1>f
  243.     rts
  244. end-code
  245.  
  246. code f10^x
  247.     f>1
  248.     ftentox.x fp0
  249.     1>f
  250.     rts
  251. end-code
  252.  
  253. code f2^x
  254.     f>1
  255.     ftwotox.x fp0
  256.     1>f
  257.     rts
  258. end-code
  259.  
  260. fp
  261.  
  262. also forth definitions
  263. code fnull1
  264.     f>1
  265.     1>f
  266.     rts
  267. end-code
  268.  
  269. code fnull2
  270.     f>2
  271.     1>f
  272.     rts
  273. end-code
  274.  
  275. : bmark1 counter 1.0 100000 0 do fdup fnull1 fdrop loop timer fdrop ;
  276. : bmark2 counter 4.3352 100000 0 do fdup fe^x fdrop loop timer fdrop ;
  277. : bmark3 counter 3.5 4.5 100000 0 do fover fover fnull2 fdrop loop timer fdrop fdrop ;
  278. : bmark4 counter 3.5 4.5 100000 0 do fover fover f+ fdrop loop timer fdrop fdrop ;
  279. : bmark5 counter 3.5 4.5 100000 0 do fover fover f* fdrop loop timer fdrop fdrop ;
  280.  
  281. also sane
  282.  
  283. : smark1 counter 1.0 10000 0 do fdup fnull1 fdrop loop timer fdrop ;
  284. : smark2 counter 4.3352 10000 0 do fdup fe^x fdrop loop timer fdrop ;
  285. : smark3 counter 3.5 4.5 10000 0 do fover fover fnull2 fdrop loop timer fdrop fdrop ;
  286. : smark4 counter 3.5 4.5 10000 0 do fover fover f+ fdrop loop timer fdrop fdrop ;
  287. : smark5 counter 3.5 4.5 10000 0 do fover fover f* fdrop loop timer fdrop fdrop ;
  288.  
  289.